Adaptive Fork-Heuristics for Software Thread-Level Speculation
نویسندگان
چکیده
Fork-heuristics play a key role in software Thread-Level Speculation (TLS). Current fork-heuristics either lack real parallel execution environment information to accurately evaluate fork points and/or focus on hardware-TLS implementation which cannot be directly applied to software TLS. This paper proposes adaptive fork-heuristics as well as a feedback-based selection technique to overcome the problems. Adaptive fork-heuristics insert and speculate on all potential fork/join points and purely rely on the runtime system to disable inappropriate ones. Feedback-based selection produces parallelized programs with ideal speedups using log files generated by adaptive heuristics. Experiments of three scientific computing benchmarks on a 64-core machine show that feedback-based selection and adaptive heuristics achieve more than 88% and 50% speedups of the manual-parallel version, respectively. For the Barnes-Hut benchmark, feedback-based selection is 49% faster than the manual-parallel version.
منابع مشابه
A Software-Based Method-Level Speculation Framework for the Java Platform
With multicore processors becoming ubiquitous on computing devices, the need for both parallelizing existing sequential applications and designing new parallel applications is greatly intensified. With our work, we intend to tackle the former issue. In this paper, we present the design of a software-based automatic parallelization framework for sequential applications that run on the Java platf...
متن کاملThe superthreaded architecture: thread pipelining with run-time data dependence checking and control speculation
This paper presents a new concurrent multiple-threaded architectural model, called superthreading, for exploiting thread-level parallelism on a processor. This architectural model adopts a thread pipelining execution model that allows threads with data dependences and control dependences to be executed in parallel. The basic idea of thread pipelining is to compute and forward recurrence data an...
متن کاملStatic Java Program Features for Intelligent Squash Prediction
The thread-level speculation paradigm parallelizes sequential applications at run-time, via optimistic execution of potentially independent threads. This enables unmodified sequential applications to exploit thread-level parallelism on modern multicore architectures. However a high frequency of data dependence violations between speculative threads can severely degrade the performance of thread...
متن کاملThe Superthreaded Architecture: Thread Pipelining with Run-Time Data Dependence Checking and Control - Parallel Architectures and Compilation Techniques, 1996., Proceedings of the 1996 Conference on
This paper presents a new concurrent multiplethreaded architectural model, called superthreading, f o r exploiting thread-level parallelism o n a processor. This architectural model adopts a thread pipelining execut ion model that allows threads with data dependences and control dependences to be executed in parallel. The basic idea of thread pipelining i s t o compute and forward recurrence da...
متن کاملProcesses vs. User-Level Threads in Scsh
The new version of scsh enables concurrent system programming with portable user-level threads. In scsh, threads behave like processes in many ways. Each thread receives its own set of process resources. Like Unix processes, forked threads can inherit resources from the parent thread. To store these resources scsh uses preserved thread fluids, a special kind of fluid variables. The paper gives ...
متن کامل